;; extends

; prettier operators
("=" @operator (#set! conceal "≔"))
(assignment_statement ("=" @operator (#set! conceal "←")))
(variable_declaration (assignment_statement ("=" @operator (#set! conceal "≔"))))
("~=" @operator (#set! conceal "≠"))
("&" @operator (#set! conceal "∩"))
("*" @operator (#set! conceal "⋅"))
("<<" @operator (#set! conceal "«"))
("<=" @operator (#set! conceal "≤"))
("==" @operator (#set! conceal "="))
(">=" @operator (#set! conceal "≥"))
(">>" @operator (#set! conceal "»"))
("|" @operator (#set! conceal "∪"))

; prettier constants
((true) @boolean (#set! conceal "✔"))
((false) @boolean (#set! conceal "✘"))

; prettier string escapes
((escape_sequence) @string.escape (#eq? @string.escape "\\n") (#set! conceal "⏎"))

; prettier brackets
("[[" @string (#set! conceal "⟦"))
("]]" @string (#set! conceal "⟧"))

; shorten annoying keywords
(function_declaration ("function" @keyword.function (#set! conceal "ƒ")))
(function_definition ("function" @keyword.function (#set! conceal "λ")))
("local" @keyword (#set! conceal "⅃"))
("end" @keyword (#set! conceal "᨟"))

; Vim stuff
((identifier) @variable (#eq? @variable "vim") (#set! conceal ""))
